home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_400 / 428_02 / examples / kbdshift.c < prev    next >
C/C++ Source or Header  |  1994-03-13  |  861b  |  46 lines

  1. /*
  2. ** KBDSHIFT.C: Displays the state of the shift keys until
  3. ** the user presses <Escape>.
  4. */
  5.  
  6. #include <pictor.h>
  7.  
  8. char *labels[] = {
  9.    "Right shift key down",
  10.    "Left shift key down",
  11.    "Ctrl-key down",
  12.    "Alt key down",
  13.    "Scroll Lock on",
  14.    "Num Lock on",
  15.    "Caps Lock on",
  16.    "Insert on",
  17. };
  18.  
  19. void main()
  20. {
  21.    int i,shiftstate;
  22.  
  23.    /* initialize library */
  24.    initvideo();
  25.  
  26.    /* clear screen and hide cursor */
  27.    cls();
  28.    showcurs(FALSE);
  29.  
  30.    setvpos(10,1);
  31.    vputs("Press <Escape> to end");
  32.  
  33.    while(!kbdready() || kbdread() != ESCAPE_KEY) {
  34.       shiftstate = kbdshift();
  35.       for(i = 0;i < 8;i++) {
  36.          setvpos(1 + i,1);
  37.          xprintf(vputs,"%s: %s",labels[i],
  38.             (shiftstate & (0x01 << i)) ? "Yes" : "No ");
  39.       }
  40.    }
  41.  
  42.    /* restore screen */
  43.    showcurs(TRUE);
  44.    cls();
  45. }
  46.